package com.wn.login.view

import androidx.activity.viewModels
import com.alibaba.android.arouter.facade.annotation.Route
import com.wn.common.base.BaseActivity
import com.wn.common.net.config.TU_NAME
import com.wn.common.net.config.TU_VALUE
import com.wn.login.LoginViewModel
import com.wn.login.R
import com.wn.login.databinding.ActivityLoginBinding
import dagger.hilt.android.AndroidEntryPoint
import libcore.net.okhttp.OkDomain

/**
 * @Author: wn
 * @Date: 2023/3/31 16:31
 * @Description: 登陆组件
 */

// 路由地址  一般是 模块名 + Activity 名字
@Route(path = "/login/login")
@AndroidEntryPoint
class LoginActivity : BaseActivity<ActivityLoginBinding>() {

  override fun getLayoutRes() = R.layout.activity_login

  private val loginViewModel by viewModels<LoginViewModel>()

  override fun initView() {
    super.initView()
    mBinding.apply {
      vm = loginViewModel
      // 左上角退出按钮点击事件
      mtoolbarLogin.mtoolbarLogin.setNavigationOnClickListener {
        finish()
      }
      // 注册新账号按钮点击事件
      tvRegisterLogin.setOnClickListener(loginViewModel::forget)
    }
  }

  override fun initData() {
    super.initConfig()
    loginViewModel.apply {
      // 登陆成功 触发
      liveLoginRsp.observeKt {
        it?.apply {
          onSuccessLogin(this)
        }
        // 关闭 Activity
        finish()
      }
    }
  }

  override fun initConfig() {
    super.initConfig()
    // 初始化 加载 需要动态切换的 BaseUrl
    // 添加 小兔鲜 域名
    OkDomain.setDomain(TU_NAME, TU_VALUE)
    // 关闭  Log
    OkDomain.debug = false
  }
}